#include "BaseMultSel.h"

#include <vector>

using namespace std;

/**
 * On fait ici simplement appel au constructeur de la classe mère, car
 * cette classe ne fait rien.
 *
 * @param nbr nombre de compétences.
 * @param noms conteneur des noms des catégories.
 * @param titre nom du goupe (affichage).
 * @param nomFenetre identification du widget.
 * @param parent pointeur sur le widget parent (orphelin par défaut).
 */
BaseMultSel::BaseMultSel(const unsigned int & nbr, vector<string> noms,
			 const string& titre, const string& nomFenetre,
			 QWidget* parent)
  : BaseListeSel( nbr, &noms, titre, nomFenetre, parent )
{
  /*
   * Ne pas faire de setFenetreLayout, c'est une classe abstraite, et
   * on peut encore vouloir modifier le layout avant de l'afficher (ie
   * ajouter choix du niveau pour les sorts, affichage du nombre de PP
   * pour les compétences martiales...
   */
}

/**
 * On fait ici simplement appel au constructeur de la classe mère, car
 * cette classe ne fait rien.
 *
 * @param nbr nombre de compétences.
 * @param noms pointeur sur le premier éléments de la liste des noms de
 * catégories.
 * @param titre nom du goupe (affichage).
 * @param nomFenetre identification du widget.
 * @param parent pointeur sur le widget parent (orphelin par défaut).
 */
BaseMultSel::BaseMultSel(const unsigned int & nbr, const string *noms,
			 const string& titre, const string& nomFenetre,
			 QWidget* parent)
  : BaseListeSel( nbr, noms, titre, nomFenetre, parent )
{
  /*
   * Ne pas faire de setFenetreLayout, c'est une classe abstraite, et
   * on peut encore vouloir modifier le layout avant de l'afficher (ie
   * ajouter choix du niveau pour les sorts, affichage du nombre de PP
   * pour les compétences martiales...
   */
}

/**
 * COnstructeur de copie. Comme cette classe ne fait rien de spécial
 * (c'est une classe abstraite qui sert juste à déterminer un ensemble
 * de méthodes, il n'y a rien a faire de particulier. La classe mère
 * se charge de tout.
 *
 * @param multSel instance de BaseMultSel à dupliquer.
 */
BaseMultSel::BaseMultSel(const BaseMultSel& multSel)
  : BaseListeSel( multSel )
{}

/**
 * Destructeur, ne fait rien de spécial. Est déclaré virtual pour
 * assurer une séquence d'appels aux destructeurs des objets dérivé
 * correcte.
 */
BaseMultSel::~BaseMultSel()
{}
